The present invention is in the field of data processing, and more particularly relates to data base management systems.
Early computer information processing systems stored, retrieved, and modified data contained in files specifically created for each information processing application. Knowledge relating to the structure and content of each data file was coded directly into each application program. When a need later developed to use the data within the data file for additional purposes, the user often created other primarily-redundant data files, writing a specific application programs to interact with each of these files. Subsequent changes in the content of any data file frequently mandated modification of the related datafiles. If the user wished to avoid creating redundant datafiles, those modifications necessitated by additional demands were made to the original data file. Again, application programs were written to perform new tasks on the modified file. However, the data file modifications sometimes hampered operation of earlier application programs, thus requiring their modification. In consequence, computer installations involved in data processing faced the recurrent task of choosing between data file redundancy and repeated software modifications.
Flaws in the early information processing systems were readily apparent. In addition to the problems discussed above, further difficulties arose regarding efficient data file design and the need for adequate systems documentation. While a data file may have been designed for efficiency in the original application, subsequent applications programs often wastefully retained the original design. Moreover, efficient design was often lacking even in the original data file, as the structure evolved haphazardly during the coding of the original application program.
In addition to design faults, the early information processing systems did not lend themselves to the production of adequate system documentation. Such documentation, which is a necessary aid for subsequent modifications of both the data files and application programs, was written as an afterthought upon completion of the application program. In many instances, the only documentation avialable was the application program itself.
With the advent of the data base management system, many of the problems encountered in the early information processing systems were alleviated. In addition to removing the need of the application program to address the intricacies of the data file manipulation, the data base management systems promoted efficient design, enhanced file maintenance and modification, eliminated data file redundancy, and provided substantial documentation regarding data file structure.
With the shift to data base management systems, the concept of dual data representation fully emerged. The first level of the data representation, the physical representation, relates to the manner in which individual data records are stored and how their inter-relationships are depicted. The second level of data representation, the logical representation, describes the data base users' view of the data. The physical representation of the data is generally of no concern to the data base user. Rather, the task of manipulating individual data storage areas is left to the data base management system. Of concern to the data base user, however, is the logical representation of the data, as the users' ability to store, retrieve, and modify aggregations of data items, data records, and data relationships is dependent upon the form in which the data base management system presents data to the user.
The principal prior art data base management systems are the Network data base management systems, Hierarchical data base management systems, and Relational data base management systems. Each of these systems allows storage, accessing, and modification of data items and records within a data base; however the systems are based on substantially different logical representations of data relationships. In Relational data base management systems, particular real world relationships are not generally represented on more than a transitory basis within the data base, as those relationships can be recreated on an ad hoc basis by the application program. In contrast, the Network and Hierarchical data base management systems permit and encourage the construction of inter-record associations which closely represent the relationships which exist between entities in the real world.
The Network data model, the basis of the Network data base system, served as the basis for the Conference on Data Description Languages (CODASYL) development of an industry wide standard for data base systems. The principal data relationship of the CODASYL standard is the owner/member set, which relates groups of data records. Each set consists of an owner record and zero, one or more member records. The CODASYL specifications do not permit a record to participate as both the owner and the member of a particular set. However, a record type may participate as an owner or a member of many different sets. A complex data base, one used in modeling a number of intricate real world relationships, is composed of many of these owner/member sets.
The Hierarchical data base management systems employ a tree structure to relate groups of records. These hierarchical associated groupings roughly correspond to the owner/member sets of the Network data base managment systems. While a record may participate as the owner of any number of owner/member sets, the Hierarchical data model does not permit a record to participate as a member of more than one set.
The Relational data base systems do not explicitly support relationships between data records. Instead, these systems provide a JOIN operation to create new records (n-tuples) from pairs of existing records. Each application program utilizes the JOIN command to reconstruct inter-record associations through selection criterion based on specific record items, or keys. The JOIN operation, creating these ad hoc connections between pair of records, is the counterpart of the associations explicitly declared and created in the Network and Hierarchical data base management systems.
A fundamental difficulty with prior art Network, Hierarchical and Relational data base management systems is their inability to adequately represent the full range of relationships which exist between objects in the real world. The Network data base management system is limited in that the Network model cannot directly represent either one-to-one or many-to-many relationships. Further, the owner/member set concept does not allow one record type to participate as both the owner and the member of the same set. In the prior art, users must overcome these limitations by defining and creating additional record types and owner/member set types, which serve only a bridging purpose.
The Relational data base management system is further limited in that it cannot provide disjunctive and conjunctive association. Furthermore, not all forms of many-to-many relationships can be represented.
Accordingly, it is an object of the present invention to provide an improved data base management system.
It is another object to provide a data base management system which utilizes data base logical representations corresponding substantially to real world relationships.
It is yet another object to provide a data base management system which supports one-to-one, one-to-many, and many-to-many associations.